const jwt = require('jsonwebtoken');
const jwtConfig = require('@config/jwt');

// 生成管理员token
exports.generateAdminToken = (admin) => {
  return jwt.sign(
    { id: admin.id, username: admin.username },
    jwtConfig.admin.secret,
    { expiresIn: jwtConfig.admin.expiresIn }
  );
};

// 生成小程序用户token
exports.generateMiniappToken = (user) => {
  return jwt.sign(
    { id: user.id, openid: user.openid || '' },
    jwtConfig.miniapp.secret,
    { expiresIn: jwtConfig.miniapp.expiresIn }
  );
};

// 验证管理员token
exports.verifyAdminToken = (token) => {
  try {
    return jwt.verify(token, jwtConfig.admin.secret);
  } catch (err) {
    return null;
  }
};

// 验证小程序用户token
exports.verifyMiniappToken = (token) => {
  try {
    return jwt.verify(token, jwtConfig.miniapp.secret);
  } catch (err) {
    return null;
  }
}; 